var currentTabIdx = 0; // 当前显示的tab页索引
$(function() {
	// 初始化单选框样式
	$(".radio-box input").iCheck({
		checkboxClass: "icheckbox-blue",
		radioClass: "iradio-blue",
		increaseArea: "18%"
	});
	// 初始化复选框样式
	$(".check-box input").iCheck({
		checkboxClass: "icheckbox-blue",
		radioClass: "iradio-blue",
		increaseArea: "18%"
	});
	// 初始化“商品品牌”下拉控件
	$("#brand").searchableSelect();
	// 显示第一个TAB页
	$(".admin_tab_content>div").hide().first().show();
	// 初始化富文本框
	CKEDITOR.replace("content", {
		width: "100%",
		height: (document.documentElement.clientHeight - 300) + "px",
		filebrowserUploadUrl: path + "/ckeditor/uploader?Type=File&prodId=" + prodId + "&uploadModel=product",
		filebrowserImageUploadUrl: path + "/ckeditor/uploader?Type=Image&prodId=" + prodId + "&uploadModel=product",
		filebrowserFlashUploadUrl: path + "/ckeditor/uploader?Type=Flash&prodId=" + prodId + "&uploadModel=product"
	});
	// 绑定“是否有移动端”改变事件
	$("input[type='checkbox'][name='merchantUrl_checkbox']").on("ifChanged", function() {
		var isChecked = $(this).is(":checked");
		if(isChecked) {
			$("#merchantUrl").attr("disabled", false);
			$("#merchantUrlStarTd").show();
		} else {
			$("#merchantUrl").attr("disabled", true).val("");
			$("#merchantUrlStarTd").hide();
		}
	});
	// 绑定“商品类型”选中事件：选中不同的类型显示不同的控件
	$("input[type='radio'][name='proType']").on("ifChecked", function() {
		var proType = $("input[type='radio'][name='proType']:checked").val();
		$(".realField").hide();
		$(".notRealField").hide();
		$(".ticketCouponField").hide();
		$(".otherField").hide();
		$(".welfareField").hide();
		if (proType == "1") { // 实物商品
			$(".realField").show();
			$("#storeNum").removeAttr("readonly").removeClass("disabled").val("");
			$("#cardTextTd").text("商品购买级别：");
			$("#firstProdType").val("-1");
		} else if (proType == "2") { // 虚拟商品
			$(".notRealField").show();
			$("#storeNum").attr("readonly", "readonly").addClass("disabled").val("0");
			$("#cardTextTd").text("商品购买级别：");
			$("#firstProdType").val("-1");
		} else if (proType == "3") { // 机票优惠券
			$(".ticketCouponField").show();
			$("#storeNum").attr("readonly", "readonly").addClass("disabled").val("0");
			$("#cardTextTd").text("商品购买级别：");
			$("#firstProdType").val("-1");
		} else if (proType == "4") { // 其他
			$(".otherField").show();
			$("#storeNum").removeAttr("readonly").removeClass("disabled").val("");
			$("#cardTextTd").text("商品购买级别：");
			$("#firstProdType").val("-1");
		} else if (proType == "5") { // 公益产品
			$(".welfareField").show();
			$("#storeNum").removeAttr("readonly").removeClass("disabled").val("");
			$("#cardTextTd").text("会员捐赠级别：");
			$("#firstProdType option").each(function () {
			    if($(this).text() == "公益频道") {
			        $(this).attr("selected", true);
			    }
			});
		}
		$("#typeId").val("");
		$("#prodTypeSpan2").html("");
		$("#prodTypeSpan3").html("");
		$("#prodTypeSpan4").html("");
		$("#prodTypeSpan5").html("");
	});
	// 绑定“公益产品-开始时间”单选框点击事件
	$("input[type='radio'][name='startTimeFlag']").on("ifChecked", function() {
		var startTimeFlag = $(this).val();
		if(startTimeFlag == "1") {
			$("#startTimeDiv").hide();
			$("#startTime").val("");
		} else {
			$("#startTimeDiv").css("display", "inline-block");
		}
	});
	// 绑定“公益产品-结束时间”单选框点击事件
	$("input[type='radio'][name='endTimeFlag']").on("ifChecked", function() {
		var endTimeFlag = $(this).val();
		if(endTimeFlag == "1") {
			$("#endTimeDiv").hide();
			$("#endTime").val("");
		} else {
			$("#endTimeDiv").css("display", "inline-block");
		}
	});
	// 绑定“图片鼠标移入”事件：鼠标移入时显示删除按钮
	$(".div_show").mouseover(function(){
		if(Number($(this).children("img").attr("data-type")) > 0) {
			$(this).find(".delete").show();
		}
	});
	// 绑定“图片鼠标移出”事件：鼠标移出时隐藏删除按钮
	$(".div_show").mouseout(function(){
		$(this).find(".delete").hide();
	});
	// 绑定“删除图片”事件
	$(".delete").click(function() {
		var delete_obj = $(this);
		var data_id = delete_obj.attr("data-id");
		var img = delete_obj.parent().prev("img");
		var type = img.attr("data-type");
		var confirm_msg = "是否确定删除此图片？删除后将不可恢复！";
		if (type == "1") { // 编辑商品,已有图片的情况,要从服务器删除图片
			confirm_msg = "是否确定从系统中删除此图片？删除后将不可恢复！"
		} else if (type == "2") { // 新发布商品添加图片的情况
			confirm_msg = "是否确定清空已选中的图片？"
		} else if (type == "3") { // 编辑商品,已有图片,且修改图片的情况
			confirm_msg = "是否确定清空已选中的图片？清空后将恢复为原来的图片！"
		}
		layer.confirm(confirm_msg, function(confirmLayerIdx) {
			if (type == "2") { // 新发布商品添加图片的情况
				resetFileInput($("#addImage" + data_id));
				// 重置图片
				img.removeAttr("data-type");
				img.attr("src", path + "/resources/images/no_img.jpg");
				layer.close(confirmLayerIdx);
			} else if(type == "3") { // 编辑商品,已有图片,且修改图片的情况
				resetFileInput($("#addImage" + data_id));
				// 重置图片
				img.attr("src", img.attr("data-oldurl"));
				img.removeAttr("data-oldurl");
				img.attr("data-type", "1");
				layer.close(confirmLayerIdx);
			} else if(type == "1") { // 编辑商品,已有图片的情况,要从服务器删除图片
				if(data_id == "0") {
					layer.alert("第一张图片将作为商品主图只可修改不可删除！", function(index) {
						layer.close(index);
						layer.close(confirmLayerIdx);
					});
					return;
				}
				var loadLayerIdx = layer.load(2); 
				$.ajax({
					url: path + "/product/delete_product_image",
					cache: false,
					type: "post",
					dataType: "text",
					data: {
						"num": data_id,
						"prodId": prodId
					},
					success: function(data) {
						if (data == "success") {
							layer.msg("删除成功！", {icon: 1, time: 1000}, function() {
								resetFileInput($("#addImage" + data_id));
								// 重置图片
								img.removeAttr("data-type");
								img.attr("src", path + "/resources/images/no_img.jpg");
								layer.close(loadLayerIdx);
								layer.close(confirmLayerIdx);
							});
						} else if(data == "fail") {
							layer.alert("删除失败，请稍后重试！");
							layer.close(loadLayerIdx);
							layer.close(confirmLayerIdx);
						} else {
							layer.alert(data);
							layer.close(loadLayerIdx);
							layer.close(confirmLayerIdx);
						}
					},
					error: function() {
						layer.alert("连接服务器失败，请稍后重试！");
						layer.close(loadLayerIdx);
						layer.close(confirmLayerIdx);
					}
				});
			}
		});
	});
	// 绑定图片预览事件
	$("input[type='file'][name='imageFile']").change(preViewImage);
});

/**
 * 图片预览
 */
function preViewImage() {
	if (typeof (FileReader) != "undefined") {
		var fileDomObj = this; // file input 文档对象
		var preViewDiv = $("#" + $(fileDomObj).attr("data-id"));
		var preViewImg = preViewDiv.children("img");
		if(fileDomObj.files.length == 0) { // 选择文件点“取消”时触发，谷歌上会触发change方法，火狐上不会。
			var dataType = preViewImg.attr("data-type");
			if(dataType == "3") { // 编辑商品，已有图片的情况，要还原成被修改的图片
				preViewImg.attr("src", preViewImg.attr("data-oldurl"));
				preViewImg.removeAttr("data-oldurl");
				preViewImg.attr("data-type", "1");
			} else {
				preViewImg.attr("src", path + "/resources/images/no_img.jpg");
				preViewImg.removeAttr("data-type");
			}
			return false;
		}
		var file = fileDomObj.files[0]; // 被上传的文件（是File对象）
		if(checkIsImage(file.name)) {
			var reader = new FileReader();
			reader.onload = function(e) {
				if(preViewImg.attr("data-type") == 1) {
					preViewImg.attr("data-type", "3");
					preViewImg.attr("data-oldurl", preViewImg.attr("src"));
				} else if (preViewImg.attr("data-type") == 3) {
					
				} else {
					preViewImg.attr("data-type", "2");
				}
				preViewImg.attr("src", e.target.result);
			}
			reader.readAsDataURL(file);
		} else {
			resetFileInput($(fileDomObj));
			// 修改时不是图片的文件
			var dataType = preViewImg.attr("data-type");
			if(dataType == "1") {
				layer.alert(file.name + "不是图片文件！");
			} else if (dataType == "3") {
				layer.alert(file.name + "不是图片文件！", function(index) {
					// 重置图片
					preViewImg.attr("src", preViewImg.attr("data-oldurl"));
					preViewImg.removeAttr("data-oldurl");
					preViewImg.attr("data-type", "1");
					layer.close(index);
				});
			} else {
				layer.alert(file.name + "不是图片文件！", function(index) {
					preViewImg.removeAttr("data-type");
					preViewImg.attr("src", path + "/resources/images/no_img.jpg");
					layer.close(index);
				});
			}
		}
	} else {
		layer.alert("抱歉，您的浏览器版本太低了，不支持预览图片，换个浏览器试试吧！");
	}
}

/**
 * 重置File input控件
 * @param fileJqObj
 */
function resetFileInput(fileJqObj) {
	// 重置上传控件
	fileJqObj.replaceWith('<input type="file" id="' + fileJqObj.attr("id") + '" name="imageFile" class="input-file" data-id="' + fileJqObj.attr("data-id") + '"/>');
	// 重新绑定change事件
	$("input[type='file'][name='imageFile']").unbind().change(preViewImage);
}

/**
 * 切换TAB页
 * @param targetTabIdx 目标TAB页索引（切换到该TAB页）
 */
function next(targetTabIdx) {
	// 目标页与当前页相同，则无需切换
	if(targetTabIdx == currentTabIdx) {
		return;
	}
	if(checkForm(currentTabIdx)) { // 切换之前，校验表单元素
		currentTabIdx = targetTabIdx;
		$(".admin_tab_content>div").hide();
		$(".admin_tab a").removeClass("current");
		$(".admin_tab_content>div:eq(" + targetTabIdx + ")").show();
		if (targetTabIdx == 0) {
			$("#admin_tab_one").addClass("current");
		} else if (targetTabIdx == 1) {
			$("#admin_tab_two").addClass("current");
		} else if (targetTabIdx == 2) {
			$("#admin_tab_three").addClass("current");
		} else if (targetTabIdx == 3) {
			$("#admin_tab_four").addClass("current");
		}
	}
}

/**
 * 校验表单元素
 * @param tabIdx 被校验的tab页索引
 * @returns {Boolean} 校验通过返回true，校验未通过返回false
 */
function checkForm(tabIdx) {
	if(tabIdx == 0) { // 商品信息TAB页
		var productName = $.trim($("#productName").val()); // 商品名称
		if(productName == "") {
			layer.alert("商品名称不能为空！");
			return false;
		} else {
			$("#productName").val(productName);
		}
		var proType = $("input[type='radio'][name='proType']:checked").val(); // 商品类型
		var positiveIntegerRegExp = /^[1-9][0-9]*$/; // 校验是否是正整数（大于零）
		var integerRegExp = /^\d+$/; // 校验是否是整数（大于等于零）
		var doubleRegExp = /^\d+(\.\d+)?$/; // 校验是否是整数或小数
		if(proType == "5") { // 公益产品
			var startTimeFlag = $("input[type='radio'][name='startTimeFlag']:checked").val(); // 公益产品-开始时间标识
			if(startTimeFlag == "2") {
				var startTime = $("#startTime").val(); // 公益产品-开始时间
				if(startTime == "") {
					layer.alert("开始时间不能为空！");
					return false;
				}
			}
			var endTimeFlag = $("input[type='radio'][name='endTimeFlag']:checked").val(); // 公益产品-结束时间标识
			if(endTimeFlag == "2") {
				var endTime = $("#endTime").val(); // 公益产品-结束时间
				if(endTime == "") {
					layer.alert("结束时间不能为空！");
					return false;
				}
			}
			var storeNum = $("#storeNum").val(); // 商品库存
			if(storeNum == "") {
				layer.alert("商品库存不能为空！");
				return false;
			} else {
				if(!integerRegExp.test(storeNum)) {
					layer.alert("商品库存必须为大于等于0的整数！");
					return false;
				}
			}
			var mercId = $("#mercId").val(); // 所属供应商
			if(mercId == "0") {
				layer.alert("请选择所属供应商！");
				return false;
			}
			var payOneMileage = $("#payOneMileage").val(); // 商品价格
			if(payOneMileage == "") {
				layer.alert("请填写商品价格！");
				return false;
			} else {
				if (!positiveIntegerRegExp.test(payOneMileage)) {
					layer.alert("商品价格必须为大于等于0的整数！");
					return false;
				}
				if (payOneMileage.length > 9) {
					layer.alert("商品价格不能超过9位！");
					return false;
				}
			}
			var card = $("#card").val(); // 会员等级
			if(card == "0") {
				layer.alert("请选择会员捐赠级别！");
				return false;
			}
		} else {
			var typeObj = $("select[name='typeId']"); // 商品类别
			var typeFlag = true;
			typeObj.each(function() {
				if($(this).val() == "-1") {
					typeFlag = false;
					return false; // 跳出循环，相当于for遍历语法中的break效果。
				}
			});
			if(!typeFlag) {
				layer.alert("请选择商品类别！");
				return false;
			}
			var brandId = $("#brand").val(); // 商品品牌
			if(brandId == "0") {
				layer.alert("请选择商品品牌！");
				return false;
			}
			var storeNum = $("#storeNum").val(); // 商品库存
			if(storeNum == "") {
				layer.alert("商品库存不能为空！");
				return false;
			} else {
				if(!integerRegExp.test(storeNum)) {
					layer.alert("商品库存必须为大于等于0的整数！");
					return false;
				}
			}
			var warnStoreNum = $("#warnStoreNum").val(); // 警戒库存
			if(warnStoreNum == "") {
				layer.alert("警戒库存不能为空！");
				return false;
			} else {
				if(!integerRegExp.test(warnStoreNum)) {
					layer.alert("警戒库存必须为大于等于0的整数！");
					return false;
				}
			}
			if(Number(warnStoreNum) > Number(storeNum)) {
				layer.alert("警戒库存不能大于商品库存！");
				return false;
			}
			var weight = $("#weight").val(); // 商品重量
			if(weight == "") {
				layer.alert("商品重量不能为空！");
				return false;
			} else {
				if(!doubleRegExp.test(weight)) {
					layer.alert("请正确填写商品重量！");
					return false;
				}
			}
			var mercId = $("#mercId").val(); // 所属供应商
			if(mercId == "0") {
				layer.alert("请选择所属供应商！");
				return false;
			}
			var payCostMileage = $("#payCostMileage").val(); // 商品原价
			if(payCostMileage != "") {
				if(!integerRegExp.test(payCostMileage)) {
					layer.alert("商品原价格式不正确！");
					return false;
				}
			}
			var payOneMileage = $("#payOneMileage").val(); // 商品价格
			if(payOneMileage == "") {
				layer.alert("请填写商品价格！");
				return false;
			} else {
				if (!positiveIntegerRegExp.test(payOneMileage)) {
					layer.alert("商品价格必须为正整数！");
					return false;
				}
				if (payOneMileage.length > 9) {
					layer.alert("商品价格不能超过9位！");
					return false;
				}
			}
			var card = $("#card").val(); // 会员等级
			if(card == "0") {
				layer.alert("请选择商品购买级别！");
				return false;
			}
			if(proType == "2" || proType == "3") {
				var merchantUrl_checkbox = $("#merchantUrl_checkbox").is(":checked"); // 是否有移动端
				if(merchantUrl_checkbox) {
					var merchantUrl = $("#merchantUrl").val(); // 商品链接
					if(merchantUrl == "") {
						layer.alert("请输入商品链接！");
						return false;
					}
				}
			}
		}
	} else if(tabIdx == 1) { // 详细图片TAB
		var imageObj = $("input[type='file'][name='imageFile']");
		var imageFlag = true;
		imageObj.each(function(index) { // 校验上传的文件是否是图片
			var imagePath = $(this).val();
			if(imagePath && imagePath != "") {
				if(!checkIsImage(imagePath)) {
					imageFlag = false;
					return false;
				}
			}
		});
		if(!imageFlag) {
			layer.alert("上传图片类型错误，只能上传jpg|gif|jpeg|png类型图片！");
			return false;
		}
	}
	return true;
}

/**
 * 级联加载商品品牌下拉框
 * @param obj
 * @param val
 */
function showChildProdType(obj, val) {
	$.ajax({
		url : path + "/product/show_child_prodType",
		cache : false,
		type : "post",
		dataType : "html",
		data : {
			"typeId" : obj.value,
			"typeNum" : val
		},
		success : function(data) {
			if (val == 2) {
				$("#prodTypeSpan2").html(data);
				$("#prodTypeSpan3").html("");
				$("#prodTypeSpan4").html("");
				$("#prodTypeSpan5").html("");
			} else if (val == 3) {
				$("#typeId").val(obj.value);
				showBrandByTypeId(obj.value);
				$("#prodTypeSpan3").html(data);
				$("#prodTypeSpan4").html("");
				$("#prodTypeSpan5").html("");
			} else if (val == 4) {
				$("#prodTypeSpan4").html(data);
				$("#prodTypeSpan5").html("");
			} else if (val == 5) {
				$("#prodTypeSpan5").html(data);
			}
		},
		error : function() {}
	});
}

/**
 * 根据商品分类，查询商品品牌
 * @param val
 */
function showBrandByTypeId(val) {
	$.ajax({
		url: path + "/product/show_brand_by_typeId",
		cache: false,
		type: "post",
		dataType: "html",
		data: {
			"typeId" : val
		},
		success : function(data) {
			$("#brandSpan").html(data);
			$("#brand").searchableSelect();
		},
		error: function() {}
	});
}

/**
 * 判断商品名称是否已存在
 */
function isProduct() {
	if(!isupdate){
		var productName = $.trim($("#productName").val());
		$("#productName").val(productName);
		$.ajax({
			url: path + "/product/is_product",
			cache: false,
			type: "post",
			dataType: "html",
			data: {
				"name": productName
			},
			success: function(data) {
				if (data.charAt(0) == 1) {
					$("#productNameTip").html("这件商品已经添加过！");
				} else {
					$("#productNameTip").html("");
				}
			},
			error: function() {}
		});
	}
}

/**
 * 校验是否是图片
 * @param imagePath
 * @returns {Boolean}
 */
function checkIsImage(imagePath) {
	var imgType = new Array("png", "jpg", "gif", "jpeg", "bmp"); // 允许的图片类型
	var fileType = imagePath.substring(imagePath.lastIndexOf(".") + 1, imagePath.length); // 文件后缀
	var isImg = false;
	for(var i = 0; i < imgType.length; i ++) {
		if(fileType.toLowerCase() == imgType[i]){
			isImg = true;
			break;
		}
	}
	return isImg;
}